package com.cskaoyan.service;


import com.cskaoyan.bean.bo.AuthLoginBo;
import com.cskaoyan.bean.bo.AuthRegisterBO;
import com.cskaoyan.bean.bo.AuthResetBO;
import com.cskaoyan.bean.bo.OrderListParamBo;
import com.cskaoyan.bean.pojo.User;
import com.cskaoyan.bean.vo.*;
import com.cskaoyan.beanwx.vo.AuthLoginVo;

/**
 * @author: lds
 * @interface: UserService
 */
public interface UserService {

    /**
     * @creater: lds
     * @title: queryUsersData
     * @description:
     * @param: [page, limit, sort, order, username, mobile]
     * @return: com.cskaoyan.bean.vo.UserListVo
     */
    UserListVo queryUsersData(Integer page, Integer limit, String sort, String order, String username, String mobile);

    /**
     * @creater: 刘森飚
     * @creater: lds
     * @title: queryAddressesData
     * @description:
     * @param: [page, limit, sort, order, name, userId]
     * @return: com.cskaoyan.bean.vo.UserAddressListVo
     */
    UserAddressListVo1 queryAddressesData(Integer page, Integer limit, String sort, String order, String name, Integer userId);
    /**
     * @creater: 刘森飚
     * @title: querryCollectData
     * @description:
     * @param: [page, limit, sort, order, valueId, userId]
     * @return: com.cskaoyan.bean.vo.UserCollectVo
     */
    UserCollectVo querryCollectData(Integer page, Integer limit, String sort, String order, Integer userId, Integer valueId);
/**
 * @creater: 刘森飚
 * @title: querryFootPrintData
 * @description:
 * @param: [page, limit, sort, order, goodsId, userId]
 * @return: com.cskaoyan.bean.vo.FootPrintVo
 */
    UserFootPrintVo querryFootPrintData(Integer page, Integer limit, String sort, String order, Integer userId, Integer goodsId);
    /**
     * @creater: 刘森飚
     * @title: querryHistoryData
     * @description:
     * @param: [page, limit, sort, order, keyword, userId]
     * @return: com.cskaoyan.bean.vo.UserHisoryVo
     */
    UserHistoryVo querryHistoryData(Integer page, Integer limit, String sort, String order, String keyword, Integer userId);
    /**
     * @creater: 刘森飚
     * @title: querryFeedBackData
     * @description:
     * @param: [page, limit, sort, order, username, id]
     * @return: com.cskaoyan.bean.vo.UserFeedBackVo
     */
    UserFeedBackVo querryFeedBackData(Integer page, Integer limit, String sort, String order,String username,Integer id);

    /**
     * @author: lsy
     * @title: queryUserById
     * @description: 根据userId查询user信息
     * @param: [userId]
     * @return: com.cskaoyan.bean.pojo.User
     */
    User queryUserById(int userId);

    AuthRegisterVo insertUser(AuthRegisterBO authRegisterBO);

    void updateUser(AuthResetBO authResetBO);
}
